// src/api/jobService.js
import request from '@/utils/request' // 假设使用axios封装
import { ElMessage } from 'element-plus'

/**
 * 职位招聘服务
 */
export default {
  /**
   * 获取职位列表
   * @param {Object} params 查询参数
   * @returns {Promise}
   */
  getJobList(params) {
    return request({
      url: '/api/student/job/list',
      method: 'post',
      data: params
    })
  },
  
  /**
   * 获取职位详情
   * @param {Number} id 职位ID
   * @returns {Promise}
   */
  getJobDetail(id) {
    return request({
      url: `/api/student/job/detail/${id}`,
      method: 'get'
    })
  },
  
  /**
   * 申请职位
   * @param {Number} jobId 职位ID
   * @returns {Promise}
   */
  applyJob(jobId) {
    return request({
      url: `/api/student/job/apply/${jobId}`,
      method: 'post'
    })
  },
  
  /**
   * 获取热门职位
   * @param {Number} limit 数量限制
   * @returns {Promise}
   */
  getHotJobs(limit = 5) {
    return request({
      url: '/api/student/job/hot',
      method: 'get',
      params: { limit }
    })
  },
  
  /**
   * 获取推荐职位
   * @param {Number} limit 数量限制
   * @returns {Promise}
   */
  getRecommendedJobs(limit = 8) {
    return request({
      url: '/api/student/job/recommend',
      method: 'get',
      params: { limit }
    })
  },
  
  /**
   * 获取城市列表
   * @returns {Promise}
   */
  getCities() {
    return request({
      url: '/api/student/job/cities',
      method: 'get'
    })
  },
  
  /**
   * 获取薪资范围
   * @returns {Promise}
   */
  getSalaryRanges() {
    return request({
      url: '/api/student/job/salary-ranges',
      method: 'get'
    })
  },
  
  /**
   * 获取职位标签
   * @returns {Promise}
   */
  getJobTags() {
    return request({
      url: '/api/student/job/tags',
      method: 'get'
    })
  }
}